Conventional shortest path first (SPF) routing protocols cause an IP device to select a path across a network to a destination IP device by computing path costs for all available network paths, as determined from link state information received at the IP device on a regular basis from neighboring SPF nodes in the network. Each path cost is calculated by summing the assigned cost for each network segment in the forward direction from the source IP device to the destination IP device. The segment costs are typically assigned by a network administrator to reflect a variety of attributes about each segment including geographic distance, equipment cost, and queue delays. Public networks utilizing SPF routing protocols and methods for defining paths most commonly use the published Open Shortest Path First (OSPF) specification. Networks intended to carry real-time interactive or delay-sensitive traffic such as VoIP or video may use a version of OSPF, called OSPF-TE, whose cost definitions and calculation methods have been modified for such delay-sensitive traffic. Regardless of the SPF protocol utilized, the SPF routing instance in an IP device conventionally determines the preferred path by using the path with the lowest total cost. If more than one path has the same lowest cost, the SPF routing instance may use all paths with the same lowest cost and distribute traffic across them in a load balanced fashion. The SPF routing protocol may modify assigned network segment costs when required by a network administrator, when a network node fails, or when a failure is detected on a network segment. When such a change occurs, routing protocol messages propagate the change to all SPF routing instances using standard protocol messages.
When the costs assigned to different directions of a network path are asymmetric, problems can result for bi-directional, delay-sensitive applications, such as RTP media streams. For example, if costs assigned to different directions of a network path are asymmetric, media gateways at each end of the path may select different paths for different directions of an RTP media stream. If one direction of an RTP media stream from a first media gateway to a second media gateway follows a different path from the reverse direction of the same media stream between the media gateways, the paths may experience different delays, resulting in an overall degradation of media stream quality. In addition, if one path fails while the other path remains active, network resources may be wasted.
Accordingly, in light of these difficulties associated with conventional methods for defining load balanced and symmetric paths through a network, there exists a need for improved methods, systems, and computer program products for load balanced and symmetric path computations for VoIP traffic engineering.